package com.atguigu.spzx.manager.service;

import com.atguigu.exception.LoginException;
import com.atguigu.spzx.model.pojo.system.SysUser;
import com.atguigu.spzx.model.request.system.LoginRequest;
import com.atguigu.spzx.model.request.system.QueryRequest;
import com.atguigu.spzx.model.vo.common.Result;
import com.atguigu.spzx.model.vo.system.LoginVo;
import com.atguigu.spzx.model.vo.system.ValidateCodeVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author admin
* @description 针对表【sys_user(用户表)】的数据库操作Service
* @createDate 2024-12-24 19:30:00
*/
public interface SysUserService extends IService<SysUser> {

    Result<LoginVo> doLogin(LoginRequest loginRequest) throws LoginException;

    SysUser getUserInfo(String token) throws LoginException;

    ValidateCodeVo generateValidateCode();

    void doLogout(String token);

    Page<SysUser> findUserByPage(Integer pageNum, Integer pageSize, QueryRequest queryRequest);
}
